package com.aliyun.messagemgt.dto.vo;

import lombok.Data;

/**
 * 小程序推送所需数据
 *
 * @author byp
 * @date 2020/4/29
 * @see <a href="https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/uniform-message/uniformMessage.send.html"></a>
 */
@Data
public class WeChatMsgVO {

    /** 用户openid，可以是小程序的openid，也可以是mp_template_msg.appid对应的公众号的openid */
    private String touser;

    /** 小程序模板消息相关的信息，可以参考小程序模板消息接口; 有此节点则优先发送小程序模板消息 */
    private WeappTemplateMsg weappTemplateMsg;

    /** 公众号模板消息相关的信息，可以参考公众号模板消息接口；有此节点并且没有weapp_template_msg节点时，发送公众号模板消息 */
    private MpTemplateMsg mpTemplateMsg;

    @Data
    public static class WeappTemplateMsg {
        /** 小程序模板ID */
        private String templateId;
        /** 小程序页面路径 */
        private String page;
        /** 小程序模板消息formid */
        private String formId;
        /** 小程序模板数据 */
        private String data;
        /** 小程序模板放大关键词 */
        private String emphasisKeyword;
    }

    @Data
    public static class MpTemplateMsg {
        /** 公众号appid */
        private String appid;
        /** 公众号模板id */
        private String templateId;
        /** 公众号模板消息所要跳转的url */
        private String url;
        /** 公众号模板消息所要跳转的小程序，小程序的必须与公众号具有绑定关系 */
        private String miniprogram;
        /** 公众号模板消息的数据 */
        private String data;
    }
}
